列表导出为Excel(市拆项目房源信息统计模块) | 您所在的位置:网站首页 › settle sb › 列表导出为Excel(市拆项目房源信息统计模块) |
#region RoomReportObjectDataSource
///
/// 返回数据的结构体
///
public struct ROOMREPORT
{
public string BLOCK_NAME { get; set; }//楼名
public string ROOM_NO { get; set; }//房间号
public string SETTLE { get; set; }//是否安置
public int? CHECK_NO { get; set; }//选房顺序号
public string DOCUMENT_NUM { get; set; }//档案号
public string OWNER_NAME { get; set; }//产权人
public string CONFIRMER_NAME { get; set; }//确权人
public string RESIDENT_NAME { get; set; }//使用人
}
public int count;
[DataObjectMethod(DataObjectMethodType.Select, true)]
public IEnumerable Get_Data(int startIndex, int pageSize, long gr_id, long type_id, long block_id, string settle, string sortDirection, string sortColumn)
{
DataClassesDataContext db = DataClassesDataContext.Default;
List rooms = db.T_ROOM.Where(r => r.T_BLOCK.T_GROUND_RATIO.GR_ID == gr_id && r.T_BLOCK.U_ID == type_id && r.ROOM_NO!=null).ToList();
if (block_id != 0)
{
rooms = rooms.Where(r => r.BLOCK_ID == block_id).ToList();
}
if (settle != "0")
{
if (settle == "1")
{
rooms = rooms.Where(r => r.FAMILY_ID != null).ToList();
}
else
{
rooms = rooms.Where(r => r.FAMILY_ID == null).ToList();
}
}
List roomreports = new List();
foreach (var item in rooms)
{
ROOMREPORT roomreport = new ROOMREPORT();
roomreport.BLOCK_NAME = item.T_BLOCK.BLOCK_NAME;
roomreport.ROOM_NO = item.ROOM_NO;
roomreport.SETTLE = item.FAMILY_ID == null ? "未安置" : "已安置";
if (item.FAMILY_ID != null)
{
roomreport.CHECK_NO = item.T_MOVE_FAMILY.CHECK_NO;
roomreport.DOCUMENT_NUM = item.T_MOVE_FAMILY.DOCUMENT_NUM;
roomreport.OWNER_NAME = item.T_MOVE_FAMILY.OWNER_NAME;
roomreport.RESIDENT_NAME = item.T_MOVE_FAMILY.RESIDENT_NAME;
roomreport.CONFIRMER_NAME = item.T_MOVE_FAMILY.CONFIRMER_NAME;
}
roomreports.Add(roomreport);
}
count = roomreports.Count;
if (sortDirection == "ASC")
{
roomreports = roomreports.OrderBy(r => GetPropertyValue(r,sortColumn)).ToList();
}
else
{
roomreports = roomreports.OrderByDescending(r =>GetPropertyValue(r,sortColumn)).ToList();
}
datastring = RoomReportString(roomreports);
return roomreports.Skip(startIndex).Take(pageSize).ToArray();
}
public int Get_Count(long gr_id, long type_id, long block_id, string settle,string sortDirection, string sortColumn)
{
return count;
}
///
/// 返回table,用于导出excel
///
public static string datastring
{
get;
set;
}
///
/// 返回table,用于导出excel
///
///
///
public string RoomReportString(List rms)
{
StringBuilder sb = new StringBuilder();
sb.Append("");
sb.Append("");
sb.AppendFormat("{0}", "楼号");
sb.AppendFormat("{0}", "房间号");
sb.AppendFormat("{0}", "是否安置");
sb.AppendFormat("{0}", "选房顺序号");
sb.AppendFormat("{0}", "档案号");
sb.AppendFormat("{0}", "产权人");
sb.AppendFormat("{0}", "确权人");
sb.AppendFormat("{0}", "使用人");
sb.Append("");
foreach (var item in rms)
{
sb.Append("");
sb.AppendFormat("{0}", item.BLOCK_NAME);
sb.AppendFormat("{0}", item.ROOM_NO);
sb.AppendFormat("{0}", item.SETTLE);
sb.AppendFormat("{0}", item.CHECK_NO);
sb.AppendFormat("{0}", item.DOCUMENT_NUM);
sb.AppendFormat("{0}", item.OWNER_NAME);
sb.AppendFormat("{0}", item.CONFIRMER_NAME);
sb.AppendFormat("{0}", item.RESIDENT_NAME);
sb.Append("");
}
sb.Append("");
return sb.ToString();
}
///
/// 反射,动态进行orderby操作 翁皓文 2013年4月26
///
///
///
///
private static object GetPropertyValue(object obj, string property)
{
System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
return propertyInfo.GetValue(obj, null);
}
#endregion
前台导出按钮事件: protected void Button1_Click(object sender, EventArgs e) { Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls"); Response.ContentType = "application/excel"; Response.Write(RoomListManager.datastring); Response.End(); }
|
CopyRight 2018-2019 实验室设备网 版权所有 |